Skip to main content
POST
Release one Hold by ID

Authorizations

Authorization
string
header
required

Generate a JWT access token through a Custom Global Integration and provide it with each request in the Authorization header prefixed with "Bearer" and then a single space.

Path Parameters

id
integer<int64>
required

hold_id to release.

Body

application/json

Empty object {}. The engine's Hold::release() does not currently accept release-time notes — the notes set when the hold was placed is preserved in the audit history.

The body is of type object.

Response

Hold released.

resource
Hold · object

An inventory hold record. Cross-merchant view (Global API surface).

Releasing cascaded holds: when holdLot is called with cascade_bom=true, free the cascade tree by releasing each child via POST /holds/{id}/release, using origin.created_origin_hold_ids ∪ cascade.child_hold_ids from the original holdLot response.

Do not include origin.root_hold_ids blindly in the release set — those may include pre-existing roots from a prior cascadeLotHold call that this call attached children to, and releasing them would also release siblings the current caller did not place.